/*
 * Name: $RCSfile: SmartLog.java,v $
 * Version: $Revision: 1.0 $
 * Date: $Date: Oct 31, 2011 1:58:08 PM $
 *
 * Copyright (C) 2011 COMPANY_NAME, Inc. All rights reserved.
 */

package inet.app.model.util;

import inet.app.common.DeveloperConfig;
import android.util.Log;

public final class SmartLog {
	private static String DEFAULT_TAG = "xoso";

	/**
	 * Show debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void d(String tag, String msg) {
		if (DeveloperConfig.DEBUG && tag != null && msg != null) {
			Log.d(tag, msg);
		}
	}

	/**
	 * Show debug on console
	 * 
	 * @param msg
	 */
	public static void d(String msg) {
		d(DEFAULT_TAG, msg);
	}

	/**
	 * Show debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void log(String tag, String msg) {
		d(tag, msg);
	}

	/**
	 * Show debug on console
	 * 
	 * @param msg
	 */
	public static void log(String msg) {
		d(DEFAULT_TAG, msg);
	}

	/**
	 * Show error debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void e(String tag, String msg) {
		if (DeveloperConfig.DEBUG && tag != null && msg != null) {
			Log.e(tag, msg);
		}
	}

	/**
	 * Show error debug on console
	 * 
	 * @param msg
	 */
	public static void e(String msg) {
		if (DeveloperConfig.DEBUG && msg != null) {
			e(DEFAULT_TAG, msg);
		}
	}

	/**
	 * Show error debug on console
	 * 
	 * @param ex
	 */
	public static void e(String tag, Exception ex) {
		if (DeveloperConfig.DEBUG && tag != null && ex != null
				&& ex.getMessage() != null) {
			Log.e(tag, ex.getMessage());
		}
	}

	/**
	 * Show error debug on console
	 * 
	 * @param e
	 */
	public static void e(Exception ex) {
		e(DEFAULT_TAG, ex);
	}

	/**
	 * Show information debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void i(String tag, String msg) {
		if (DeveloperConfig.DEBUG && tag != null && msg != null) {
			Log.i(tag, msg);
		}
	}

	/**
	 * Show information debug on console
	 * 
	 * @param msg
	 */
	public static void i(String msg) {
		i(DEFAULT_TAG, msg);
	}

	/**
	 * Show exception on console
	 * 
	 * @param ex
	 */
	public static void logError(String tag, Exception ex) {
		if (DeveloperConfig.DEBUG && tag != null && ex != null
				&& ex.getMessage() != null) {
			Log.e(tag, ex.getMessage());
		}
	}
}